Many applications are based in a distributed environment where an assignment of tasks to multiple software components (and hardware components) enables, for example, creation of business applications through composition. An example of a composed business application includes business processes and composite applications based on enterprise compound services, process components, and user-interface applications using core services.
Tests may be executed on such a distributed environment to verify that each component works as expected concerning, for example, functional correctness and performance. To test a particular component, most existing test techniques involve the insertion of specialized test code into production code. However, such test techniques can be inefficient because, for example, every new component requires the creation of new test code. Furthermore, it can be extremely difficult to coordinate between all the different test codes within the distributed environment.